package tools

import (
	"fmt"
	"os"
	"strings"
)

func (t Command) Replace() {
	if len(os.Args) != 5 {
		fmt.Println("请求参数有误！请参考：yt replace qzt yu /app/demo.txt ")
		return
	}
	key := os.Args[2]
	nkey := os.Args[3]
	filepath := os.Args[4]

	fileContent, err := os.ReadFile(filepath)
	if err != nil {
		fmt.Printf("错误：无法读取文件 %s 错误信息：%v\n", filepath, err)
		return
	}
	// 关闭文件
	fc := string(fileContent)
	nfc := strings.ReplaceAll(fc, key, nkey)

	data := []byte(nfc)
	os.WriteFile(filepath, data, 0o666)
	fmt.Println("替换成功")
	// 备份老文件
	os.WriteFile(filepath+".bak", fileContent, 0o666)
	fmt.Println("老文件备份成功")
}
